#include <bits/stdc++.h>
using namespace std;

class base {
    public:
    base() {
        cout << this << "base construct" << endl;
    }
    virtual void hello() {
        cout << this << "base hello" << _m << endl;
    }
     ~base() {
        cout << this << "base deconstruct" << endl;
    }
    int _m = 2;
    int _ma = 4;
};

class base_dri : public base {
    public:
    base_dri() {
        cout << this <<"base_dri construct" << endl;
    }
    int hello_i() {
        cout << this << "base_dri hello" << _m << endl;
        return _m;
    }
     ~base_dri() {
        cout << this << "base_dri deconstruct" << endl;
    }
    int _m = 3;
};

int main() {
    base_dri b;
    base* a = new base_dri();
    a->hello();
    cout << a->_ma << endl;
    cout << a->_m << endl;
    cout << b._ma << endl;
    cout << b._m << endl;
    delete a;
    cout << sizeof(base_dri);
}